import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class test {

    @Test
    public void main() {
        String html = "<p>This is a <b>bold</b> paragraph.</p><p>Another <i>italic</i> paragraph with <a href='#'>a link</a>.</p>";

        // 正则表达式匹配<p>标签及其内容
        String regex = "<p[^>]*>(.*?)</p>";
        Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); // DOTALL 使得 . 可以匹配换行符
        Matcher matcher = pattern.matcher(html);

        List<String> paragraphs = new ArrayList<>();
        while (matcher.find()) {
            // 获取每个<p>标签的内容，包括其中的HTML标签
            String paragraphWithHtml = matcher.group(1);

            // 使用另一个正则表达式去掉HTML标签
            String plainText = paragraphWithHtml.replaceAll("</?[^>]+(>|$)", "");

            // 将纯文本添加到列表中
            paragraphs.add(plainText.trim()); // 使用trim()去除可能的前后空格
        }
//        System.out.println(Arrays.asList(paragraphs));
        // 打印纯文本列表
        for (String text : paragraphs) {
            System.out.println(text);
        }
    }

    @Test
    public void testListTOString(){
        List<String> list = Arrays.asList("a", "b", "c");
        System.out.println(StringUtils.join(list, ""));
    }
}
